package com.gskj.oss.utils;

import lombok.Data;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;


/**
 * @author :CodingFarmer_码农  Connor(康纳)_郭
 * @date : 13:37 20.5.15
 * @Company : http://www.gskj.com
 * @Version : 1.0
 * <p>
 * <p>
 * 创建 配置类 读取 配置文件中oss的属性值
 * <p>
 * 通过实现 InitializingBean接口。 显示在bean初始化完成后，调用其实现的 afterPropertiesSet方法
 * 将所有从配置文件中获取的属性 赋值到常量中。可以让外界可以直接访问
 *
 */

@Component
//@PropertySource("classpath:application.properties")
public class ConstantPropertiesUtils implements InitializingBean {
    // 读取配置文件内容

    @Value("${aliyun.oss.endpoint}")
    private String endpoint;  //地域节点

    @Value("${aliyun.oss.keyid}")
    private String keyid;  // key

    @Value("${aliyun.oss.keysecret}")
    private String keysecret; //密钥

    @Value("${aliyun.oss.bucketname}")
    private String bucketname; // 存储

    //常量值
    public static String END_POINT;
    public static String ACCESS_KEY_ID;
    public static String ACCESS_KEY_SECRET;
    public static String BUCKET_NAME;

    @Override
    public void afterPropertiesSet() throws Exception {

//        System.out.println(endpoint);
//        System.out.println(keyid);
//        System.out.println(keysecret);
//        System.out.println(bucketname);

        // 将属性值 赋值给 常量。以供外界使用
        END_POINT = endpoint;
        ACCESS_KEY_ID = keyid;
        ACCESS_KEY_SECRET = keysecret;
        BUCKET_NAME = bucketname;
    }
}
